Page({
  data: {
    userInfo: null,      // 存储用户信息
    hasUserInfo: false,  // 是否已获取用户信息
    isLogin: false       // 是否登录成功
  },

  onLoad() {
    // 检查是否已授权过
    this.checkAuthStatus();
  },

  // 检查授权状态
  checkAuthStatus() {
    wx.getSetting({
      success: (res) => {
        // 如果已授权，直接获取用户信息
        if (res.authSetting['scope.userInfo']) {
          wx.getUserInfo({
            success: (res) => {
              this.setData({
                userInfo: res.userInfo,
                hasUserInfo: true
              });
            }
          });
        }
      }
    });
  },

  // 获取用户信息（授权回调）
  onGetUserInfo(e) {
    if (e.detail.userInfo) {
      // 用户允许授权
      this.setData({
        userInfo: e.detail.userInfo,
        hasUserInfo: true
      });
    } else {
      // 用户拒绝授权
      wx.showToast({
        title: '授权后才能使用哦',
        icon: 'none',
        duration: 2000
      });
    }
  },

  // 确认登录
  confirmLogin() {
    // 显示加载中
    wx.showLoading({
      title: '登录中...'
    });

    // 1. 获取code（用于后端登录验证）
    wx.login({
      success: (loginRes) => {
        if (loginRes.code) {
          // 2. 这里可以调用后端接口，将code和userInfo传给服务器
          // 示例：模拟登录成功
          setTimeout(() => {
            // 存储用户信息到本地
            wx.setStorageSync('userInfo', this.data.userInfo);
            wx.setStorageSync('isLogin', true);

            this.setData({ isLogin: true });

            // 登录成功后跳转首页
            setTimeout(() => {
              wx.redirectTo({
                url: '/pages/index/index'  // 替换为你的首页路径
              });
            }, 1500);

            wx.hideLoading();
          }, 1000);
        } else {
          wx.hideLoading();
          wx.showToast({
            title: '登录失败，请重试',
            icon: 'none'
          });
        }
      },
      fail: () => {
        wx.hideLoading();
        wx.showToast({
          title: '登录失败，请重试',
          icon: 'none'
        });
      }
    });
  }
});